In a network services environment, users invoke clients for requesting services from a provider. Typically the provider operates through multiple servers, responsive to the clients, for providing the service. Provisioning the service, such as, for example video, audio, Internet connectivity, and so forth, often invokes resources that are shared among the user base for providing the service as needed. Such shared resource, such as channels for video and bandwidth ranges for multimedia transport, are often disposed at central locations in proximity to the users or a subset thereof, so that resource allocations may be made in a timely and effective manner to provide the desired service.
Allocation of resources, therefore, designates particular resources for usage on behalf of specific users in a manner that the resource is efficiently allocated without undue delay, and is returned to the common pool for use by another user when the service is complete, thus ensuring reasonable availability of shared resources for all users. For example, in a video services environment, a predetermined number of MPEG channels are available to a headend serving a regional set of users. A video on demand (VOD) application requests one of the channels in response to a user selection from a set-top box. A resource management mechanism allocated the channel to the user for the duration of a requested feature, then deallocates the channel so that it is available for other users. A multitude of resource requests emanating from a user base can cause undue delays if multiple resource requests become queued.